Il confine del futuro by Francesca Rossi

Il confine del futuro by Francesca Rossi

autore:Francesca Rossi [Rossi, Francesca]
La lingua: ita
Format: epub
editore: Feltrinelli Editore
pubblicato: 2019-07-08T22:00:00+00:00


Un esempio di algoritmo procedurale: l’algoritmo A*

Ma torniamo agli algoritmi procedurali (le “ricette”) e cerchiamo adesso di capire quando possano essere utili. Esistono problemi per cui non è necessario ricorrere a tecniche di machine learning. L’algoritmo procedurale che abbiamo citato prima, utilizzato dal navigatore per calcolare la strada più breve tra due punti su una mappa, si avvale di una tecnica diversa.

In questo caso, anche se potrebbe sembrare molto complicato considerare tutte le strade possibili e confrontarle, in realtà il problema può essere rappresentato in modo preciso astraendo dai dettagli. Un algoritmo chiamato A* permette di trovare il percorso migliore, cioè il più breve (se ci interessa la brevità), molto velocemente e senza mai sbagliare. Questo algoritmo è stato definito nel 1968 da tre pionieri dell’IA (Peter Hart, Nils Nilsson e Bertram Raphael) che lavoravano allo Stanford Research Institute in California e cercavano un modo per dire al loro robot Shakey quale percorso scegliere per andare verso un determinato luogo. Shakey, uno dei primi robot mobili, era in grado di pianificare da solo le sue azioni.

L’idea originaria di questo algoritmo veniva da un altro algoritmo molto simile ideato da Edsger Dijkstra nel 1956. Dijkstra ha insegnato per diversi anni in Texas all’Università di Austin e nel 1987, mentre mi trovavo lì con una borsa di studio, frequentai il suo corso sui teoremi matematici. Un corso indimenticabile non solo per i contenuti, ma anche per la sua particolare opinione sui computer. “I computer sono utili solo per farci capire quello che non possono fare,” diceva spesso a lezione.

Anche per l’IA, non dobbiamo mai dimenticare i suoi limiti. Ma tornerò su questo più avanti. Come per il navigatore, ogni volta che il problema da risolvere è chiaro e non ci sono incertezze sull’input o l’output, gli algoritmi procedurali sono adatti e hanno il vantaggio di essere sempre corretti nelle loro risposte.

Non commettono errori, a meno che il programmatore non sbagli qualcosa nella scrittura del programma. Se lo scopo è ottimizzare un certo criterio, questi algoritmi ci riescono sempre. Se siamo in viaggio e cerchiamo il percorso più breve, A* non ci deluderà.



scaricare



Disconoscimento:
Questo sito non memorizza alcun file sul suo server. Abbiamo solo indice e link                                                  contenuto fornito da altri siti. Contatta i fornitori di contenuti per rimuovere eventuali contenuti di copyright e inviaci un'email. Cancelleremo immediatamente i collegamenti o il contenuto pertinenti.